// 验证账号
const RegAcc = /^[a-zA-Z0-9_\u4e00-\u9fa5]{3,8}$/
export var validateAccount = (rule, value, callback) => {
  if (value === '') {
    callback(new Error('请输入账号'))
  } else if (!RegAcc.test(value)) {
    callback(new Error('请输入3-8位中文、字母、数字和下划线~'))
  } else {
    callback()
  }
}

// 验证密码
const RegPwd = /^[a-zA-Z0-9_]{3,12}$/
export var validateOldPwd = (rule, value, callback) => {
  if (value === '') {
    callback(new Error('请输入密码'))
  } else if (!RegPwd.test(value)) {
    callback(new Error('请输入3-12位字母、数字和下划线~'))
  } else {
    callback()
  }
}

// 验证新密码
export var validatePass = o => {
  return (rule, value, callback) => {
    if (value === '') {
      callback(new Error('请输入密码'))
    } else if (!RegPwd.test(value)) {
      callback(new Error('请输入3-12位字母、数字和下划线~'))
    } else {
      // 进else 代表新密码符合条件
      // 再通过获取表单的数据判断确认密码是否为空
      // 如果不为空,则判断二者是否一致
      if (o.passForm.confirmPwd !== '') {
        o.$refs.ruleForm.validateField('confirmPwd')
      }
      callback()
    }
  }
}

// 确认新密码
export var validatePass2 = o => {
  return (rule, value, callback) => {
    if (value === '') {
      callback(new Error('请再次输入密码'))
    } else if (value !== o.passForm.password) {
      callback(new Error('两次输入密码不一致!'))
    } else {
      callback()
    }
  }
}
